package com.coffee.order.service.inquire.dao;

import com.coffee.order.api.inquire.query.InquireOrderDeliveryDemandQuery;
import com.coffee.order.service.inquire.bean.InquireOrderDeliveryDemand;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InquireOrderDeliveryDemandDao {
    public InquireOrderDeliveryDemand findById(Integer id);

    public InquireOrderDeliveryDemand findByIdAndMerchantId(@Param("id") Integer id, @Param("merchantId") Integer merchantId);

    public InquireOrderDeliveryDemand findByIdForUpdate(Integer id);

    public List<InquireOrderDeliveryDemand> findByInquireOrderIds(@Param("idList") List<Integer> idList);

    public List<InquireOrderDeliveryDemand> findByIds(@Param("idList") List<Integer> idList);

    public Integer count(@Param("param") InquireOrderDeliveryDemandQuery param);

    public List<InquireOrderDeliveryDemand> page(@Param("param") InquireOrderDeliveryDemandQuery param, @Param("offset") Integer offset, @Param("rows") Integer rows);

    public List<InquireOrderDeliveryDemand> list(@Param("param") InquireOrderDeliveryDemandQuery param);

    public InquireOrderDeliveryDemand findFirst(@Param("param") InquireOrderDeliveryDemandQuery param);

    public Integer insert(InquireOrderDeliveryDemand param);

    Integer insertBatch(List<InquireOrderDeliveryDemand> list);

    public void updateById(@Param("param") InquireOrderDeliveryDemand param);

    public Integer deleteById(Integer id);

    public Integer deleteByIds(List<Integer> idList);

}